<?php
/*
 * Created on 2008. 10. 20.
 *
 * creator : cho sung hoon (akdddnet@gmail.com)
 * 
 * comment :
 *   - Zend-Log-Format-xml 과 동일 함.  (수정 작업이 필요한 페이지...)
 * 
 * 수정사항
 */
 	require_once __DIR__.'/IFormat.php';
	
	class XmlFormat implements IFormat
	{
		protected $rootElementName;
		
		function __construct($rootElementName="log")
		{
			$this->rootElementName = $rootElementName;	
		}	
		
		
		/**
		 * 설정된 format형식대로 출력 문구를 생성합니다.
		 * 
		 * @param array $event
		 * @return string $str
		 */
		public function format(array $event)
		{
			// xml형태 생성
			$dom = new DOMDocument();
			// 최상위 노드 만들기
			$elt = $dom->appendChild(new DOMElement($this->rootElementName));
			
			foreach ($event as $key => $value) {
	            $elt->appendChild(new DOMElement($key, $value));
	        }
	
	        $xml = $dom->saveXML();
			$xml = preg_replace('/<\?xml version="1.0"( encoding="[^\"]*")?\?>\n/u', '', $xml);
			
			return $xml;
		}	
	}
?>
